package com.ruoyi.business.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 推送记录业务对象 push_info
 *
 * @author ruoyi
 * @date 2024-04-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PushInfoBo extends BaseEntity {

    /**
     * 推送记录id
     */
    @NotNull(message = "推送记录id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long pushId;

    /**
     * 推送来源()
     */
    @NotBlank(message = "推送来源()不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pushRef;

    /**
     * 推送内容
     */
    @NotBlank(message = "推送内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pushContent;

    /**
     * 推送目的地(phone,)
     */
    @NotBlank(message = "推送目的地(phone,)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pushTo;

    /**
     * 是否成功是否成功(0.成功,1.失败)
     */
    @NotBlank(message = "是否成功不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isSuccessful;

    /**
     * 推送时间(如果在当前或之前则立即推送，否则定时)
     */
    @NotNull(message = "推送时间(如果在当前或之前则立即推送，否则定时)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date pushTime;

    /**
     * 推送模板
     */
    @NotBlank(message = "推送模板不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pushTemplate;

    /**
     * 推送次数
     */
    @NotNull(message = "推送次数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long pushNum;

    /**
     * 推送方式(queueConstant.)
     */
    @NotBlank(message = "推送方式(queueConstant.)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pushType;


}
